using UnityEngine;
using System.Collections;

public interface ICharacterTriggerListener 
{ 
	void OnCharacterMove(float directionInDegree);

	void OnCharacterMoveEnd();

    void OnCharacterAttackInput(CharacterAttackInfo info);
           
	void OnCharacterSpecialInput(int number);

    void OnCharacterHitting(DamageInfo info);

    void OnCharacterInjured(DamageInfo info);
}

public class CharacterAttackInfo
{
    
}
 

public class DamageInfo
{
	public DamageableObject sender;
	public DamageableObject receiver;
    public int injury;
	public int tpBonus;
	public int tpPunishment;
    public Vector3 impact;
    public bool critical;
    public GameObject hitFX;
	public float hittingDelay = -1;

	public DamageInfo(DamageableObject sender, DamageableObject receiver, int injury, Vector3 impact, bool critical = false,GameObject hitFX = null)
    {
		this.sender = sender;
		this.receiver = receiver;
        this.injury = injury;
        this.impact = impact;
        this.critical = critical;
        this.hitFX = hitFX;
    }

    public string ToString()
    {
        return "attacker:" + sender + "taker:" + receiver + "injury:" + injury+  "impact:" + impact;
    }
}

